home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part2 / 12349 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.1 KB

  1. Path: news.bu.edu!usenet
  2. From: Xiangyang Wang <xianwang@chem.bu.edu>
  3. Newsgroups: comp.lang.fortran,comp.lang.c
  4. Subject: Re: Efficient Column-wise FFT Routines?
  5. Date: Sun, 31 Mar 1996 12:19:52 -0500
  6. Organization: Boston University
  7. Message-ID: <315EBEB8.41C67EA6@chem.bu.edu>
  8. References: <warrenp-2603961110500001@ren.colorado.edu>
  9. NNTP-Posting-Host: radon.bu.edu
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (X11; I; SunOS 4.1.4 sun4m)
  14.  
  15. Pete Warren wrote:
  16. > Greetings all,
  17. > I am trying to perform large scale FFT's on complex data in a column (or
  18. > row) wise formats.  Does anyone know of a good, proven routine for either
  19. > Fortran (preferred) or C ?  There are routines for complex 1-D data and
  20. > for real column wise data but not for both.
  21. > What I'm actually trying to do is build a code interface node for Labview
  22. > that performs this function efficiently.
  23. > I would appreciate any help or pointers.
  24. > Thank you,
  25. > - Pete Warren
  26. > warrenp@colorado.edu
  27. The following fft subroutine is from web resourse( I am not sure where)
  28. , maybe it helps.
  29.       SUBROUTINE FOUREA( N, ISI)
  30. C
  31. C THE COOLEY-TUKEY FAST FOURIER TRANSFORM IN ANSI FORTRAN
  32. C
  33. C DATA IS A ONE-DIMENSIONAL COMPLEX ARRAY WHOSE LENGTH, N, IS A
  34. C POWER OF TWO.  ISI IS +1 FOR AN INVERSE TRANSFORM AND -1 FOR A
  35. C FORWARD TRANSFORM.  TRANSFORM VALUES ARE RETURNED IN THE INPUT
  36. C ARRAY, REPLACING THE INPUT.
  37. C TRANSFORM(J)=SUM(DATA(I)*W**((I-1)*(J-1))), WHERE I AND J RUN
  38. C FROM 1 TO N AND W = EXP (ISI*2*PI*SQRT(-1)/N).  PROGRAM ALSO
  39. C COMPUTES INVERSE TRANSFORM, FOR WHICH THE DEFINING EXPRESSION
  40. C IS INVTR(J)=(1/N)*SUM(DATA(I)*W**((I-1)*(J-1))).
  41. C RUNNING TIME IS PROPORTIONAL TO N*LOG2(N), RATHER THAN TO THE
  42. C CLASSICAL N**2.
  43. C AFTER PROGRAM BY BRENNER, JUNE 1967. THIS IS A VERY SHORT VERSION
  44. C OF THE FFT AND IS INTENDED MAINLY FOR DEMONSTRATION. PROGRAMS
  45. C ARE AVAILABLE IN THIS COLLECTION WHICH RUN FASTER AND ARE NOT
  46. C RESTRICTED TO POWERS OF 2 OR TO ONE-DIMENSIONAL ARRAYS.
  47. C SEE -- IEEE TRANS AUDIO (JUNE 1967), SPECIAL ISSUE ON FFT.
  48. C
  49. -Xiangyang
  50. .
  51.